任务型与问答型对话系统中的语言理解技术

阅读量:607
车万翔,张宇

语言理解

在各种类型的对话系统中,私人助理是一种非常重要的类型。它是通过自然语言对话的方式,完成用户发出的指令类任务,或者回答一些常识知识,例如,天气查询、机票预定、知识问答等。有很多著名的科技公司涉猎这一类型的对话系统,如苹果Siri,微软小娜,谷歌助理(Google Assistant),百度度秘,讯飞AIUI等。

一个对话系统通常有三个关键模块,即语言理解(Language Understanding)、对话管理(Dialogue Management)和语言生成(Language Generation)。其中语言理解技术指的是将用户面向机器说出的自然语言转换为语义表示[1],随后对话管理模块根据语义表示、语义上下文、用户元信息等,找到合适的执行动作,再根据具体的动作生成一句自然语言来回复用户[2]

任务型对话系统的语言理解模块通常可以拆分为领域识别、意图识别、语义槽1(slot)填充等三个子任务。例如,对于用户输入的语句:

查一下明天北京到上海的机票。

1列出了这句话的领域、意图、语义槽,其中,“明天”的语义槽类型是出发时间,“北京”和“上海”的语义槽类型分别是出发地和到达地。

知识问答型对话系统的语言理解模块通常指的是对问题进行分类,即为问题返回一个类别标签,该类别标签是问题期望答案的类别,如时间、地点等。

领域/意图与问题分类

任务型对话中的领域识别和意图识别,以及知识问答型对话系统中的问题分类通常都可以视为文本分类任务来解决。

其中,领域和意图的定义与对话系统自身的定位和所具有的知识库有很大关系,即具有非常强的领域相关性。而问题分类的类别通常相对通用,具有一定的领域无关性,如哈尔滨工业大学信息检索和社会计算研究中心提出的中文问题的分类体系[3],主要包括描述类(DES)、人物类(HUM)、地点类(LOC)、数字类(NUM)、时间类(TIME)、实体类(OBJ)6个大类,每个大类又划分为若干小类,共计84个小类(见表2)。

国内外学者已经对文本分类技术进行了大量的研究,基于深度学习的方法依然是目前的主流。Kalchbrenner等人[4]构建了一种动态卷积神经网络(DCNN),对句子语义信息进行建模从而对文本进行分类,在DCNN中使用了一种全局k-max池化操作方法。Mou等人[5]利用依存句法树和成分树构建了一种基于树的卷积神经网络(TBCNN)TBCNN利用最大池化方法融合了句子的结构特征及其他多种特征。Komninos等人[6]在神经网络模型中使用基于上下文的词嵌入特征。基于深度学习的方法可以自动抽取特征,在减少了工作量的同时,还可以抓取到直觉上无法获取的特征,从而提高分类的精度。


会员登录后可下载全文

中国计算机学会(CCF)拥有《中国计算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF允许,不得转载本刊文字及照片,否则被视为侵权。对于侵权行为,CCF将追究其法律责任。
<<< 下一篇 人机对话
读完这篇文章后,您心情如何?

作者介绍

车万翔

  • CCF高级会员
  • 哈尔滨工业大学副教授、博士生导师
  • 研究方向:自然语言处理
  • car@ir.hit.edu.cn

张宇

  • CCF高级会员
  • 哈尔滨工业大学教授
  • 研究方向:信息检索、自动问答
  • yzhang@ir.hit.edu.cn